1. Technical Field
The present disclosure relates generally to generation of an executable using the Business Process Execution Language (BPEL), and more particularly to generation of an executable for BPEL using a late binding.
2. Discussion of Related Art
BPEL is based on Web Services. Web Services provide a way to communicate over a network in an open and flexible way based on the Extensible Markup Language (XML). BPEL offers an open standard to make a flexible coupling between several systems. As an example, BPEL can be used to automate update of software on remote computer systems. In this example, a local Electronic Resource Planning (ERP) system is used for administration, and a provisioning server is used to install the software on the remote computer systems. However, if the ERP were to control the provisioning server directly, whenever the software of the provisioning server changes, so would the software in the ERP. This means that the software of the ERP would need to be recompiled, which is not desirable. Accordingly, a BPEL orchestration server between the ERP and the provisioning server can be used to connect the ERP to the provisioning server. Then, when the ERP wants to update the software of the remote system, the ERP makes a call to the BPEL server identifying the software to load and the remote system to update. The invokable actions of the provisioning server are available as Web Services, and since BPEL is based on Web Services, the BPEL orchestration server is able to call the provisioning server to load the software onto the identified remote system.
Current BPEL orchestration engines allow a process engineer to author process definitions that represented a sequence of activities. For example, one of the activities in the sequence could be to check on the status of one of the remote systems, and a second one of the activities of the sequence could be to load the software on the remote system upon receipt of the status being set to ready. Each activity must have an underlying implementation (e.g., a code section of XML) that is hard coded at the authoring stage. However, since the underlying code section for each activity is hard coded, it cannot be easily reused.